package it.unipd.dei.bd.icineasti.servlet.admin;

import it.unipd.dei.bd.icineasti.database.CreateAbbonamentoInListinoDatabase;
import it.unipd.dei.bd.icineasti.resource.Listino;
import it.unipd.dei.bd.icineasti.servlet.AbstractDatabaseServlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Crea un'istanza di Listino, un abbonamento
 * 
 * @author Morris Antonello
 */
public class CreateAbbonamentoInListinoServlet extends AbstractDatabaseServlet {

	public void doGet(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException {
		
		HttpSession session = req.getSession(true);
		
		res.setContentType("text/html");

		PrintWriter out = res.getWriter();

		Connection con = null;
		
		if(session.getAttribute("amministrativo") != null ) {
			
			Listino listino=new Listino(
					req.getParameter("nome"),
					Integer.parseInt(req.getParameter("totaleIngressi")),
					new BigDecimal(req.getParameter("prezzoListino"))
					);
		
			try {
				con = DS.getConnection();

				new CreateAbbonamentoInListinoDatabase(con, listino).createListino();
				
				// out.println("<font color=\"green\" size=\"+2\">Nuovo abbonamento creato con successo!</font>");
				
			} catch (NullPointerException ex) {
				out.printf("<font color=\"red\" size=\"+2\">Impossibile creare la connessione al database.</font>");
			} catch (SQLException ex) {
				out.printf(
						"<font color=\"red\" size=\"+2\">Errore durante l'accesso al database: %s</font>",
						ex.getMessage());
			}
		
		} else {
			out.println("<p><font color=\"red\" size=\"+2\">Non hai i privilegi di amministrazione quindi non puoi modificare il database.</font></p>");
		}
		
		out.flush();
		out.close();
	
	}
}
